package com.wpzf.system.mapper;

import com.wpzf.system.domain.SysPlatform;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SysPlatformMapper {
    /**
     * 根据条件分页查询平台数据
     *
     * @param Platform 平台信息
     * @return 平台数据集合信息
     */
    public List<SysPlatform> selectPlatformList(SysPlatform Platform);

    /**
     * 根据用户ID查询平台
     *
     * @param userId 用户ID
     * @return 平台列表
     */
    public List<SysPlatform> selectPlatformPermissionByUserId(Long userId);

    /**
     * 查询所有平台
     *
     * @return 平台列表
     */
    public List<SysPlatform> selectPlatformAll();

    /**
     * 根据用户ID获取平台选择框列表
     *
     * @param userId 用户ID
     * @return 选中平台ID列表
     */
    public List<Long> selectPlatformListByUserId(Long userId);

    /**
     * 通过平台ID查询平台
     *
     * @param PlatformId 平台ID
     * @return 平台对象信息
     */
    public SysPlatform selectPlatformById(Long PlatformId);

    /**
     * 根据用户ID查询平台
     *
     * @param userName 用户名
     * @return 平台列表
     */
    public List<SysPlatform> selectPlatformsByUserName(String userName);

    /**
     * 校验平台名称是否唯一
     *
     * @param PlatformName 平台名称
     * @return 平台信息
     */
    public SysPlatform checkPlatformNameUnique(String PlatformName);

    /**
     * 校验平台权限是否唯一
     *
     * @param PlatformKey 平台权限
     * @return 平台信息
     */
    public SysPlatform checkPlatformKeyUnique(String PlatformKey);

    /**
     * 修改平台信息
     *
     * @param Platform 平台信息
     * @return 结果
     */
    public int updatePlatform(SysPlatform Platform);

    /**
     * 新增平台信息
     *
     * @param Platform 平台信息
     * @return 结果
     */
    public int insertPlatform(SysPlatform Platform);

    /**
     * 通过平台ID删除平台
     *
     * @param PlatformId 平台ID
     * @return 结果
     */
    public int deletePlatformById(Long PlatformId);

    /**
     * 批量删除平台信息
     *
     * @param PlatformIds 需要删除的平台ID
     * @return 结果
     */
    public int deletePlatformByIds(Long[] PlatformIds);
}
